#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//#define SQUARE(x) ((x)*(x))
//int main()
//{
//	int a = 5;
//	int ret = SQUARE(a + 1);
//	printf("%d\n", ret);
//	return 0;
//}
#include <stdio.h>
#define GENERIC_MAX(type)\
type type##_max(type x,type y)\
{    \
	return x>y?x:y;\
}
GENERIC_MAX(int);
GENERIC_MAX(float);
int main()
{
	int r1 = int_max(3, 5);
	printf("%d\n", r1);
	float r2 = float_max(3.1f, 4.5f);
	printf("%f\n", r2);
	return 0;
}